<?php

namespace app\admin\controller;

use app\admin\model\AdminModel;
use think\facade\Session;
use think\Request;

class Login extends Base
{
    /**
     * 重定向到登陆页面
     */
    public function toLogin()
    {
        return redirect('/admin/login');
    }

    /**
     * 管理员登录页面
     * @return \think\response\Redirect|\think\response\View
     */
    public function login()
    {
        if (Session::get('admin')) {
            return redirect('/admin/index');
        }
        return view('login/login');
    }

    /**
     * 管理员登录
     * @param Request $request
     * @return \think\response\Json
     */
    public function loginPost(Request $request)
    {
        $flag = $this->validate($request->param(), [
            'username' => 'require|max:20',
            'password' => 'require|max:20'
        ]);
        if ($flag !== true) {
            return baseResponse(1, $flag);
        }
        return AdminModel::loginPost($request->param(), $request->ip());
    }

    /**
     * 管理员退出
     * @return \think\response\Redirect
     */
    public function logout()
    {
        Session::clear();
        return redirect('/admin/login');
    }
}
